package com.ljf.framework.security;

import com.ljf.framework.result.JsonResult;

/**
 * 说明：安全接口，需要针对安全框架客制化实现
 *
 * T 为用户对象
 * @Auther: lijinfeng
 * @Date: 2022/12/5
 */
public interface LjfSecurityService<T> {

    /**
     * 登录操作
     */
    JsonResult doLogin(String username, String password);

    /**
     * 登出操作
     */
    JsonResult doLogout();

    /**
     * 是否登录
     */
    boolean isLogin();

    /**
     * 获取用户名
     * @return
     */
    String getUsername();

    /**
     * 获取用户名
     * @return
     */
    String getUsername(String token);

    /**
     * 获取用户ID
     */
    Long getUserId();

    /**
     * 创建ljfToken
     * @param userId
     */
    String createLjfToken(Long userId);
}
